package com.dries.portal.module.coupon.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description: 结算信息
 * 包含：
 *  1. userId
 *  2. 商品信息（列表）
 *  3. 优惠券列表
 *  4. 结算结果金额
 * @Author ZSY
 * @createTime 2020/7/29 13:56
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SettlementInfo {

    private Long userId;
    /**
     * 商品信息
     */
    private List<GoodsInfo> goodsInfos;
    /**
     * 优惠券列表
     */
    private List<CouponAndTemplateInfo> couponAndTemplateInfos;
    /**
     * 是否使结算生效，即核销
     *  0 结算生效
     *  1 核销
     */
    private Integer employ;
    /**
     * 结果结算金额
     */
    private BigDecimal cost;
    /**
     * 优惠券和模板信息
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class CouponAndTemplateInfo {

        // coupon 的主键
        private Integer id;
        // 优惠券对应的模板对象
        private CouponTemplateSDK template;

    }

}
